草庐IT

c++ - 小数位数之和

全部标签

c++ - SHDeleteKey 和 RegDeleteTree 有什么区别?

RegDeleteTree描述:递归删除指定键的子键和值。签名:LONGWINAPIRegDeleteTree(HKEY,LPCTSTR)最低支持:Vista包括:Winreg.h/Advapi32.libSHDeleteKey描述:删除子项及其所有后代。此函数从注册表中删除键和所有键的值。签名:LSTATUSSHDeleteKey(HKEY,LPCTSTR)最低支持:XP包括:Shlwapi.h/Shlwapi.lib看起来它们都用于递归删除注册表。它们的参数签名几乎相同。RegDeleteTree是否只是SHDeleteKey的改进版本,具有不同的名称?我应该改用更新的RegDel

c++ - 如何以编程方式删除 Windows 中损坏的快捷方式

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭7年前。Improvethisquestion我正在寻找一种方法,通过C/C++代码从我的Windows机器上删除损坏的快捷方式。我找到了一些做同样事情的软件(MicrosoftFixIt),但网上没有关于如何通过编码完成此操作的信息。让我知道是否有任何示例代码或API可用于实现相同的目的。注意:其他人对我指的是哪种快捷方式有点困惑,这里基本上我是在寻找桌面和资源管理器快捷方式作为第一步。

c++ - SetConsoleMode() 和 ENABLE_VIRTUAL_TERMINAL_PROCESSING?

根据MSDN,SetConsoleMode()函数的dwMode参数应允许ENABLE_VIRTUAL_TERMINAL_PROCESSING(0x04)。我的VisualStudio(2013UltimatewithUpdate5)未定义该常量。它只有这两个:#defineENABLE_PROCESSED_OUTPUT0x0001#defineENABLE_WRAP_AT_EOL_OUTPUT0x0002是否删除了ENABLE_VIRTUAL_TERMINAL_PROCESSING?我正尝试像这样使用它,以便我可以使用VT100转义序列控制光标。HANDLEhOut=GetStdHa

c - 如何检查数组中是否存在(子)数组

我需要介于strstr和memcmp之间的东西来检查内存范围内是否存在数组。例如我想要实现的目标:BYTEa[]={0x01,0x02,0x03,0x04};BYTEb[]={0x02,0x03};if(mem_in_mem(a,b,4*sizeof(BYTE))==0){printf("bisinmemoryrangeofa\n");}有什么想法可以让我做这样的事情吗?(应该适用于Windows) 最佳答案 mem_in_mem函数应该采用两个数组的大小。这是一个简单的实现:#includevoid*mem_in_mem(cons

创建文件夹/目录的跨平台方法?

有没有办法使用C语言“在代码中”创建跨平台的文件夹/目录?还是我必须使用预处理器来说明要使用哪种方法? 最佳答案 你需要一个#define来做到这一点。为了让您的代码看起来干净,您需要使用一个定义Linux函数的函数,以便在针对Windows进行编译时将其转换为等效的Windows函数。在源文件的顶部,您将在Windows特定部分中找到它:#include#definemkdir(dir,mode)_mkdir(dir)然后你可以像这样调用这个函数:mkdir("/tmp/mydir",0755);以下是一些可能有用的其他内容:#d

c++ - SetPixelFormat() 中的第三个参数对于 OpenGL 上下文创建有什么意义?

这个问题在这里已经有了答案:WhatisthePIXELFORMATDESCRIPTORparameterinSetPixelFormat()usedfor?(1个回答)关闭5年前。在Windows上创建OpenGL上下文之前,我们需要为Window的设备上下文调用SetPixelFormat。其函数原型(prototype)如下:BOOLWINAPISetPixelFormat(HDChdc,intiPixelFormat,constPIXELFORMATDESCRIPTOR*ppfd);当创建一个固定的函数上下文时,我们通过使用我们想要的像素格式调用ChoosePixelForma

c++ - 在 wcscpy_s 之后读取字符串的字符时出错

wcscpy_s函数有问题。在wcscpy_s返回后,我的函数的参数(stringOne和stringTwo)不可读。这是显示问题的简单演示。voidtestFunc(LPCWSTRstringOne,LPCWSTRstringTwo){wchar_t*defaultVal=L"Default";wchar_ttmp[100];intlenBefore=wcslen(stringOne);//Worksautoresult=wcscpy_s(tmp,sizeof(tmp),defaultVal);intlen=wcslen(tmp);intlen2=wcslen(stringOne);

c - 调用 free 后内存使用量不会减少

我有一个使用C的WebSocket服务器,它将在Windows上作为后台进程运行。并且这个过程将接受包含大图像数据(base64格式)的请求。每次收到请求时,都会使用malloc分配内存。并在请求执行后释放。但是当我检查任务管理器时,内存使用并没有减少。此外,当我发送另一个请求时,会分配额外的内存。我的问题是,为什么进程没有释放分配的内存或者重新使用之前分配的内存? 最佳答案 free的底层实现在不同平台上有所不同,但您所看到的很可能是由于惰性内存分配/取消分配。您的操作系统(或内存管理例程)知道您刚刚释放的内存,但由于您的程序很可

c - _stat 在网络目录上失败

我的程序通过LAN将文件从我的Windows笔记本电脑复制到我的Windows桌面。我使用资源管理器中的拖放来提供源和目标。来源是:C:\Paul目的地是:\\SERVER\Paul但是,_stat(dst,&dst_statbuf)失败,-1和errno设置为ENOENT(文件未找到)。请注意,从资源管理器中拖放提供的路径是正确且存在的,在资源管理器中我可以看到目标目录并可以打开文件,因此权限似乎没问题。有没有人知道为什么_stat失败了? 最佳答案 找到问题了。在stat64.c(VC2008)中有奇怪的注释:/*rootdir

c - Windows - 在重叠 I/O 进行时调用 CloseHandle() 是否安全?

我有一个程序有多个线程,需要使用同一个句柄(它是用FILE_SHARE_READ打开的)来写。如果一个线程关闭句柄而另一个线程当前正在进行I/O(在我的例子中是WriteFile),会发生什么情况?CloseHandle是否会阻塞直到写入完成?MSDN文档似乎很少涉及此主题。 最佳答案 根据I/O离完成有多近,它可以正常完成或被取消。或者,如果内核文件对象的使用计数不为零(例如使用了DuplicateHandle()),则这些操作可以正常进行,直到另一个句柄也关闭为止。CloseHandle()可能会阻塞,但如果你真的想等待挂起的I